Port MediaServer appliance to TurnKey 19 - #33
Open
lirazsiri wants to merge 7 commits into
Open
Conversation
Move Jellyfin to its signed Debian 13 stable repository and replace private database password mutation with supported startup and authenticated APIs. Modernize the TLS reverse proxy, preserve the appliance media layout, and add a signed-package updater with focused v19 login, scan, playback-metadata, service, and proxy coverage. Verified shell syntax, Python parsing and error boundaries, executable modes, the exact seven-key result schema, upstream tag and key identity, whitespace, and source-contract invariants. The shared appliance runner remains an external zero-loop blocker.
Firstboot removes Jellyfin's one-use bootstrap secret, so runtime acceptance must authenticate with the application password supplied by the harness. Require that credential and write the seven evidence fields to the required result file so the harness can evaluate the appliance run.
Firstboot previously passed the administrator password with --pass, making it visible to local process inspection while Jellyfin was configured. Add an explicit standard-input mode and use it from the firstboot hook while retaining the interactive and command-line interfaces for compatibility. Verified with shell syntax, Python bytecode compilation, argument parsing, a focused stdin invocation, and git diff checks.
Jellyfin's health endpoint becomes successful before the startup wizard API is ready, allowing the build to reach configuration while the server still returns HTTP 503. Gate setup on the actual Startup/Configuration endpoint so the normal administrator and library initialization begins only when its dependency is available. The failure was reproduced by exact run 20260826t152259z-1151-25306. Bash syntax and whitespace checks pass.
The setup API correctly returns a transient HTTP 503 while Jellyfin finishes starting, and the readiness loop handles that response. Suppress stderr for the handled retry so the acceptance log scanner does not misclassify a later successful build as failed. Exact run 20260826t153404z-7557-28310 completed the product build and setup before the log-only rejection. Bash syntax and whitespace checks pass.
MediaServer does not install PHP, but its Makefile still invoked the shared PHP configuration script. That pass attempted to query a missing php binary, emitted a handled command-not-found diagnostic, and caused exact acceptance to reject an otherwise successful build. Removing the unused include leaves the fileserver and Jellyfin integration unchanged and keeps the build log truthful. Verified the plan and Makefile no longer request PHP configuration and passed whitespace checks.
Replace the stale preflight-only state with the passing exact run, tested source commit, retained report digest, runtime behavior, and product-loop accounting. This makes the PR evidence traceable without changing the exact-tested appliance.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
aca3b3620260826t155731z-1143-18806on product commitd075b565e8c6806648517a83985f365a413636b819a9722894a1601b1b19d5b620562f9verifiedgit diff --check origin/master...aca3b36